package com.itheima.test1;

public class test1Cha {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6,7,8,9,10};
        int num = 6;
        //1.我们在干什么?---二分查找
        //2.我这件事需要什么?---数组   元素
        //3.我干完这件事情,要不要把结果返回调用者?---把索引返回调用者
        int index = cha(arr,num);
        if(index == -1){
            System.out.println("您的查找数据不存在");
        }else{
            System.out.println("找到的索引是:"+index);
        }
    }


    private static int cha(int[] arr, int num) {
        //1.定义查找的范围
        int min = 0;
        int max = arr.length-1;
        //2.循环查找 min <= max
        while(min <= max){
            //3.计算出中间的位置 mid
            int mid = (min + max)>> 1;
                //mid指向的元素 > num
            if(arr[mid] > num ){
                    //要找的元素在左边
                max = mid - 1;
                //mid指向的元素 > num
            }else if (arr[mid] < num){
                    //要找的元素在右边
                    min = mid + 1;
                //mid指向的元素 = num
            }else{
                //mid指向的元素 = num  直接返回索引mid
                return mid;
            }
        }
        //如果min大于了max就表示元素不存在,返回-1
        return -1;
    }
}
